import $http  from '@/utils/http';
import $toast from '@/utils/toast';
import { validateMobile } from '@/utils';

/**
 * 登录
 * 
 * @param  string  mobile   账号
 * @param  string  user_pwd  密码
 * @return Promise
 */
export function signin({ mobile, user_pwd } = {})
{
	if (!mobile)
		return new Promise(() => { $toast('账号不能为空') });

	if (!user_pwd)
		return new Promise(() => { $toast('密码不能为空') });

	return $http.post('',{ module : 'Login#userMobileLogin', mobile, user_pwd });
}

/**
 * 注册-验证码
 * @param  string  account   账号
 * @return Promise
 */

export function getCaptcha( mobile )
{
	if (!mobile)
		return new Promise(() => { $toast('账号不能为空') });

	return $http.post('',{ module : 'Login#sendCaptcha', mobile });
}



/**
 * 注册账号
 * @param  {[type]} account  账号
 * @param  {[type]} password 密码
 * @param  {[type]} captcha  验证码
 * @return Promise
 */

export function saveRegister({ mobile, user_pwd, confirm_pwd, captcha })
{
	switch (true)
	{
		case !validateMobile(mobile):
			return new Promise(() => { $toast('请输入正确的手机号') });

		case !user_pwd:
			return new Promise(() => { $toast('密码不能为空') });

		case !confirm_pwd:
			return new Promise(() => { $toast('确认密码不能为空') });
		case confirm_pwd != user_pwd:
			return new Promise(() => { $toast('两次输入密码不一致') });		

		case !captcha:
			return new Promise(() => { $toast('验证码不能为空') });
	}


	return $http.post('',{ module : 'Login#register', mobile, user_pwd, confirm_pwd,captcha });
}

/**
 * 忘记密码-获取验证码
 * @param  string  phone   账号
 * @param  string  templete_id   模板ID 传1
 * @return Promise
 */

export function forgetGetCaptcha( phone, templete_id )
{ 
	if (!phone)
		return new Promise(() => { $toast('账号不能为空') });

	return $http.post('',{ module : 'Login#commonGetCaptcha', phone, templete_id });
}


/**
 * 忘记密码
 * 
 * @param  string  phone    	账号
 * @param  string  captcha  	验证码
 * @param  string  new_pwd  	新密码
 * @param  string  comfirm_pwd  确认密码
 * @return Promise
 */
export function forgetPW({ phone, captcha, new_pwd, comfirm_pwd } = {})
{
	switch (true)
	{
		case !validateMobile(phone):
			return new Promise(() => { $toast('账号不能为空') });

		case !captcha:
			return new Promise(() => { $toast('验证码不能为空') });

		case !new_pwd:
			return new Promise(() => { $toast('密码不能为空') });

		case !comfirm_pwd:
			return new Promise(() => { $toast('确认密码不能为空') });
	}

	return $http.post('',{ module : 'Login#forgetPwd', phone, captcha, new_pwd, comfirm_pwd });
}

/**
 * 绑定手机
 * @param  {[type]} options.uid      用户id
 * @param  {[type]} options.phone    手机号
 * @param  {[type]} options.passward 密码
 * @param  {[type]} options.captcha  验证码
 * @return Promise
 */
export function bandingMobile({ uid, phone, passward, captcha })
{
	switch (true)
	{
		case !phone:
			return new Promise(() => { $toast('账号不能为空') });

		case !passward:
			return new Promise(() => { $toast('密码不能为空') });

		case !captcha:
			return new Promise(() => { $toast('验证码不能为空') });

	}

	return $http.post('',{ module : 'Thirdlogin#pubBindPhone', uid, phone, passward, captcha });
}